home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / rbbs_pc / rbbsutl.zip / RECONFIG.BAS < prev    next >
BASIC Source File  |  1992-06-20  |  46KB  |  1,384 lines

  1.    DECLARE FUNCTION StrTok$(Source$,Delim$)
  2.    DECLARE SUB box (ybox%, xbox%, boxrows%, boxcols%, style%)   'draw a box
  3.    DECLARE SUB Line17 (HelpText$)
  4.    DEFINT A-Z
  5.    CLEAR
  6.    CLS
  7.    DIM FILES.FUNCTION(8)                         ' file menu security
  8.    DIM GLOBAL.FUNCTION(4)                        ' Global commands security
  9.    DIM HELP$(9)                                  ' Help file names
  10.    DIM LIBRARY.FUNCTION(7)                       ' Library commands security
  11.    DIM MAIN.FUNCTION(18)                         ' Main menu security
  12.    DIM MENU$(6)                                  ' Menu file names
  13.    DIM SYSOP.FUNCTION(7)                         ' Sysop menu security
  14.    DIM DNLD$(99)                                 ' Download Sub-Dirs
  15.    DIM UTILITY.FUNCTION(12)                      ' Utility menu security
  16.    CONST FALSE = 0
  17.    CONST TRUE = NOT FALSE
  18.    KEY OFF
  19.    LOCATE ,,0
  20.    Parms = FALSE
  21. '           1     2     3     4     5     6     7     8     9     10    11    12    13    14    15           
  22.    Ver$ = " 14.1D 15.1A 15.1B 15.1C 16.1A 17.1A 17.1B 17.1C 17.1D 17.2A 17.2B 17.3  17.3A 17.3B 17.3C " ' KG062101
  23.  
  24.    IF COMMAND$ = "" THEN _
  25.       GOTO CopyRight
  26.    Parms = 1
  27.    Delim$ = " "
  28.    InputFileName$ = STRTOK$(COMMAND$,Delim$)
  29.    IF InputFileName$ = "" THEN _
  30.       GOTO CopyRight
  31.    InputVersion$ = STRTOK$("",Delim$)
  32.    IF LEN(InputVersion$) < 4 THEN GOTO CopyRight
  33.    InputVersion$ = UCASE$ (InputVersion$)
  34.    Version = INSTR(Ver$, " " + InputVersion$ + " ")
  35.    IF Version = 0 THEN GOTO CopyRight
  36.    Version = INT((Version-2)/6)+1
  37.    OutputFileName$ = STRTOK$("",Delim$)
  38.    IF OutputFileName$ = "" THEN _
  39.       GOTO CopyRight
  40.    Parms = TRUE
  41. '
  42. ' ╔══════════════════════╗
  43. ' ║  COPYRIGHT GOES HERE ║
  44. ' ╚══════════════════════╝
  45. '
  46. CopyRight:
  47.    CALL box(1,5,18,69,2)
  48.    FOR I = 2 to 15
  49.       LOCATE I,7
  50.       READ Temp$
  51.       PRINT Temp$
  52.       NEXT
  53.    IF Parms = FALSE THEN CALL Line17("Press any key to continue")
  54.    IF Parms = 1 THEN
  55.       Parms = FALSE
  56.       CALL Line17("ERROR IN INPUT PARAMETERS -  Press any key to continue")
  57.    END IF
  58. 120 REM
  59.    IF Parms = FALSE THEN
  60.       A$ = INKEY$
  61.       IF A$="" GOTO 120 ELSE GOTO 130
  62.    END IF
  63.    TEMP = (VAL(RIGHT$(TIME$,2))+4) MOD 60
  64.    WHILE VAL(RIGHT$(TIME$,2)) <> TEMP
  65.    WEND
  66. 130 REM
  67.    LOCATE 1,1
  68.    FOR I = 3 to 17
  69.       LOCATE I, 6
  70.       PRINT SPACE$(67);
  71.    NEXT I
  72.    LOCATE 4,12
  73.    PRINT "Name of INPUT FILE:"
  74.    LOCATE 5,9
  75.    PRINT "Version of INPUT FILE:"
  76.    LOCATE 6,11
  77.    PRINT "Name of OUTPUT file:"
  78.    IF Parms = FALSE THEN GOTO 150
  79.    LOCATE 4,32
  80.    PRINT InputFileName$
  81.    LOCATE 5,32
  82.    PRINT InputVersion$
  83.    LOCATE 6,32
  84.    PRINT OutputFileName$
  85.    GOTO 180
  86. '
  87. ' ╔═════════════════════════════╗
  88. ' ║ GET THE INPUT FROM THE USER ║
  89. ' ╚═════════════════════════════╝
  90. '
  91. 150 CALL Line17("Enter the name of your existing RBBS-PC CONFIGURATION FILE")
  92.    LOCATE 4,32
  93.    PRINT SPACE$(40);
  94.    LOCATE 4,31
  95.    INPUT " ", InputFileName$
  96.    IF LEN(InputFileName$) < 1 THEN
  97.       PRINT CHR$(7);
  98.       GOTO 150
  99.    END IF
  100. 160 CALL Line17("Vers: 14.1D, 15.1A/B/C, 16.1A, 17.1A/B/C/D 17.2A/B, 17.3/A/B/C")  ' KG062101
  101.    LOCATE 5,32
  102.    PRINT SPACE$(40);
  103.    LOCATE 5,31
  104.    INPUT " ", InputVersion$
  105.    IF LEN(InputVersion$) > 5 THEN
  106.       PRINT CHR$(7);
  107.       GOTO 160
  108.    END IF
  109.    InputVersion$ = InputVersion$ + SPACE$(5 - LEN(InputVersion$))
  110.    InputVersion$ = UCASE$ (InputVersion$)
  111.    Version = INSTR(Ver$, InputVersion$)
  112.    IF Version = 0 THEN
  113.       PRINT CHR$(7);
  114.       GOTO 160
  115.    END IF
  116.    Version = INT((Version-1)/6)+1
  117. 170 CALL Line17("Enter the name of the output RBBS-PC version 17.3C FILE") ' DA090101
  118.    LOCATE 6,32
  119.    PRINT SPACE$(40);
  120.    LOCATE 6,31
  121.    INPUT " ", OutputFileName$
  122.    IF LEN(OutputFileName$) < 1 THEN
  123.       PRINT CHR$(7);
  124.       GOTO 170
  125.    END IF
  126.    CALL Line17("")
  127. 180   LOCATE 8,9
  128.    INPUT "Is everything correct (Y or N)";QUERY$
  129.    IF UCASE$ (LEFT$(Query$,1)) <> "Y" THEN GOTO 150
  130.    ON ERROR GOTO ErrorHandler
  131. 1000  OPEN "I",#1,InputFileName$
  132. '
  133. ' ╔════════════════════════════════════════════════════════════╗
  134. ' ║ READ IN THE PARAMETERS FROM AN EXISTING "RBBS-PC.DEF" FILE ║
  135. ' ╚════════════════════════════════════════════════════════════╝
  136. '
  137. 1010  LOCATE 10,9
  138.       PRINT "READING DATA....";
  139. '
  140. ' ╔═════════════════╗
  141. ' ║ READ INPUT FILE ║
  142. ' ╚═════════════════╝
  143. '
  144. ReadDef:
  145.    IF Version >= 6 THEN INPUT #1,CONFIG.FILE.VER$
  146.    INPUT #1,DOWNLOAD.DRIVES$, _
  147.             SYSOP.PASSWORD.1$, _
  148.             SYSOP.PASSWORD.2$, _
  149.             SYSOP.FIRST.NAME$, _
  150.             SYSOP.LAST.NAME$, _
  151.             REQUIRED.RINGS, _
  152.             START.OFFICE.HOURS, _
  153.             END.OFFICE.HOURS, _
  154.             MINUTES.PER.SESSION!, _
  155.             MAX.ALLOWED.MSGS.FRM.DEF, _
  156.             ACT.MNTHS.B4.DELETING, _
  157.             UPLOAD.DIRECTORY$, _
  158.             EXPERT.USER, _
  159.             ACTIVE.BULLETINS, _
  160.             PROMPT.BELL, _
  161.             PCJR, _
  162.             MENUS.CAN.PAUSE, _
  163.             MENU$(1), _
  164.             MENU$(2), _
  165.             MENU$(3), _
  166.             MENU$(4), _
  167.             MENU$(5)
  168.  
  169.    IF Version >= 4 THEN INPUT #1,MENU$(6)
  170.  
  171.    INPUT #1,CONFERENCE.MENU$, _
  172.             CONFERENCE.VIEWER.SEC.LVL, _
  173.             WELCOME.INTERRUPTABLE, _
  174.             REMIND.FILE.TRANSFERS, _
  175.             PAGE.LENGTH, _
  176.             MAX.MESSAGE.LINES, _
  177.             DOORS.AVAILABLE, _
  178.             MO$
  179.  
  180.    INPUT #1,MAIN.MESSAGE.FILE$, _
  181.             MAIN.MESSAGE.BACKUP$, _
  182.             CALLERS.FILE$, _
  183.             COMMENTS.FILE$, _
  184.             MAIN.USER.FILE$, _
  185.             WELCOME.FILE$, _
  186.             NEWUSER.FILE$, _
  187.             DIRECTORY.EXTENTION$, _
  188.             COM.PORT$, _
  189.             BULLETINS.OPTIONAL, _
  190.             USER.INIT.COMMAND$, _
  191.             RTS$, _
  192.             DOS.VERSION, _
  193.             FG, _
  194.             BG, _
  195.             BORDER, _
  196.             RBBS.BAT$, _
  197.             RCTTY.BAT$
  198.  
  199.    INPUT #1,OMIT.MAIN.DIRECTORY$, _
  200.             FIRST.NAME.PROMPT$
  201.  
  202.    IF Version = 1 THEN
  203.       INPUT #1,HELP$(1), _
  204.                HELP$(2), _
  205.                HELP$(3), _
  206.                HELP$(4), _
  207.                HELP$(5), _
  208.                HELP$(6), _
  209.                HELP$(7), _
  210.                HELP$(8), _
  211.                HELP$(9)
  212.    ELSE
  213.       INPUT #1,HELP$(3), _
  214.                HELP$(4), _
  215.                HELP$(7), _
  216.                HELP$(9)
  217.    END IF
  218.  
  219.    INPUT #1,BULLETIN.MENU$, _
  220.             BULLETIN.PREFIX$, _
  221.             DRIVE.FOR.BULLETINS$, _
  222.             MESSAGE.REMINDER, _
  223.             REQUIRE.NON.ASCII, _
  224.             ASK.EXTENDED.DESC, _
  225.             MAXIMUM.NUMBER.OF.NODES, _
  226.             NETWORK.TYPE, _
  227.             RECYCLE.TO.DOS, _
  228.             MAX.USR.FILE.SIZE.FRM.DEF, _
  229.             MAX.MSG.FILE.SIZE.FRM.DEF!, _
  230.             TRASHCAN.FILE$
  231.    INPUT #1,MINIMUM.LOGON.SECURITY, _
  232.             DEFAULT.SECURITY.LEVEL, _
  233.             SYSOP.SECURITY.LEVEL, _
  234.             FILESEC.FILE$, _
  235.             SYSOP.MENU.SECURITY.LEVEL, _
  236.             CONFMAIL.LIST$, _
  237.             MAXIMUM.VIOLATIONS, _
  238.             SYSOP.FUNCTION(1), _
  239.             SYSOP.FUNCTION(2), _
  240.             SYSOP.FUNCTION(3), _
  241.             SYSOP.FUNCTION(4), _
  242.             SYSOP.FUNCTION(5), _
  243.             SYSOP.FUNCTION(6), _
  244.             SYSOP.FUNCTION(7), _
  245.             PASSWORD.FILE$, _
  246.             MAXIMUM.PASSWORD.CHANGES, _
  247.             MINIMUM.SECURITY.FOR.TEMP.PASSWORD, _
  248.             OVERWRITE.SECURITY.LEVEL, _
  249.             DOORS.TERMINAL.TYPE, _
  250.             MAX.PER.DAY
  251.    IF Version = 1 THEN GOTO READ.DEF.141D.ONLY
  252.  
  253.    INPUT #1,MAIN.FUNCTION(1), _
  254.             MAIN.FUNCTION(2), _
  255.             MAIN.FUNCTION(3), _
  256.             MAIN.FUNCTION(4), _
  257.             MAIN.FUNCTION(5), _
  258.             MAIN.FUNCTION(6), _
  259.             MAIN.FUNCTION(7), _
  260.             MAIN.FUNCTION(8), _
  261.             MAIN.FUNCTION(9), _
  262.             MAIN.FUNCTION(10), _
  263.             MAIN.FUNCTION(11), _
  264.             MAIN.FUNCTION(12), _
  265.             MAIN.FUNCTION(13), _
  266.             MAIN.FUNCTION(14), _
  267.             MAIN.FUNCTION(15), _
  268.             MAIN.FUNCTION(16), _
  269.             MAIN.FUNCTION(17)
  270.  
  271.    IF Version >= 4 THEN INPUT #1,MAIN.FUNCTION(18)
  272.  
  273.    IF Version < 5 THEN
  274.       INPUT #1,DUMMY$
  275.    ELSE
  276.       INPUT #1,MIN.NEWCALLER.BAUD
  277.    END IF
  278.  
  279.    INPUT #1,WAIT.BEFORE.DISCONNECT, _
  280.             FILES.FUNCTION(1), _
  281.             FILES.FUNCTION(2), _
  282.             FILES.FUNCTION(3), _
  283.             FILES.FUNCTION(4)
  284.    IF Version >= 5 THEN INPUT #1,FILES.FUNCTION(5)
  285.  
  286.    INPUT #1,FILES.FUNCTION(6), _
  287.             FILES.FUNCTION(7), _
  288.             FILES.FUNCTION(8), _
  289.             UTILITY.FUNCTION(1), _
  290.             UTILITY.FUNCTION(2)
  291.    IF Version >= 5 THEN INPUT #1,UTILITY.FUNCTION(3)
  292.  
  293.    INPUT #1,UTILITY.FUNCTION(4), _
  294.             UTILITY.FUNCTION(5), _
  295.             UTILITY.FUNCTION(6), _
  296.             UTILITY.FUNCTION(7), _
  297.             UTILITY.FUNCTION(8), _
  298.             UTILITY.FUNCTION(9), _
  299.             UTILITY.FUNCTION(10), _
  300.             UTILITY.FUNCTION(11), _
  301.             UTILITY.FUNCTION(12), _
  302.             GLOBAL.FUNCTION(1), _
  303.             GLOBAL.FUNCTION(2), _
  304.             GLOBAL.FUNCTION(3), _
  305.             GLOBAL.FUNCTION(4), _
  306.             UPLOAD.TIME.FACTOR!, _
  307.             COMPUTER.TYPE, _
  308.             REMIND.PROFILE, _
  309.             RBBS.NAME$, _
  310.             COMMANDS.BETWEEN.RINGS, _
  311.             MNP.SUPPORT, _
  312.             PAGING.PRINTER.SUPPORT$, _
  313.             MODEM.INIT.BAUD$
  314.    INPUT #1,TURN.PRINTER.OFF, _
  315.             DIRECTORY.PATH$, _
  316.             MIN.SEC.TO.VIEW, _
  317.             LIMIT.SEARCH.TO.FMS, _
  318.             DEFAULT.CATEGORY.CODE$, _
  319.             DIR.CATEGORY.FILE$, _
  320.             NEW.FILES.CHECK, _
  321.             MAX.DESC.LEN, _
  322.             SHOW.SECTION, _
  323.             COMMANDS.IN.PROMPT, _
  324.             NEWUSER.SETS.DEFAULTS, _
  325.             HELP.PATH$, _
  326.             HELP.EXTENSION$, _
  327.             MAIN.COMMANDS$, _
  328.             FILE.COMMANDS$, _
  329.             UTIL.COMMANDS$, _
  330.             GLOBAL.COMMANDS$, _
  331.             SYSOP.COMMANDS$
  332.    IF Version >= 4 THEN
  333.       INPUT #1,RECYCLE.WAIT, _
  334.             LIBRARY.FUNCTION(1), _
  335.             LIBRARY.FUNCTION(2), _
  336.             LIBRARY.FUNCTION(3), _
  337.             LIBRARY.FUNCTION(4), _
  338.             LIBRARY.FUNCTION(5), _
  339.             LIBRARY.FUNCTION(6), _
  340.             LIBRARY.FUNCTION(7), _
  341.             LIBRARY.DRIVE$, _
  342.             LIBRARY.DIRECTORY.PATH$, _
  343.             LIBRARY.DIRECTORY.EXTENTION$, _
  344.             LIBRARY.WORK.DISK.PATH$, _
  345.             LIBRARY.MAX.DISK, _
  346.             LIBRARY.MAX.DIRECTORY, _
  347.             LIBRARY.MAX.SUBDIR, _
  348.             LIBRARY.SUBDIR.PREFIX$, _
  349.             LIBRARY.ARCHIVE.PATH$, _
  350.             LIBRARY.ARCHIVE.PROGRAM$, _
  351.             LIBRARY.COMMANDS$
  352.    END IF
  353.  
  354.    INPUT #1,UPLOAD.PATH$, _
  355.             FMS.DIRECTORY$, _
  356.             ANS.MENU$,_
  357.             REQUIRED.QUESTIONNAIRE$,_
  358.             REMEMBER.NEW.USERS, _
  359.             SURVIVE.NOUSER.ROOM, _
  360.             PROMPT.HASH$, _
  361.             START.HASH, _
  362.             LEN.HASH, _
  363.             PROMPT.INDIV$, _
  364.             START.INDIV, _
  365.             LEN.INDIV
  366.    INPUT #1,BYPASS.MSGS, _
  367.             MUSIC, _
  368.             RESTRICT.BY.DATE, _
  369.             DAYS.TO.WARN, _
  370.             DAYS.IN.SUBSCRIPTION.PERIOD, _
  371.             VOICE.TYPE, _
  372.             RESTRICT.VALID.CMDS, _
  373.             NEW.USER.DEFAULT.MODE, _
  374.             NEW.USER.LINE.FEEDS, _
  375.             NEW.USER.NULLS, _
  376.             FAST.FILE.LIST$, _
  377.             FAST.FILE.LOCATOR$, _
  378.             MESSAGES.CAN.GROW, _
  379.             WRAP.CALLERS.FILE$, _
  380.             REDIRECT.IO.METHOD, _
  381.             AUTO.UPGRADE.SEC, _
  382.             HALT.ON.ERROR, _
  383.             NEW.PUBLIC.MSGS.SECURITY, _
  384.             NEW.PRIVATE.MSGS.SECURITY, _
  385.             SECURITY.NEEDED.TO.CHANGE.MSGS, _
  386.             SL.CATEGORIZE.UPLOADS, _
  387.             NO.QUOTING, _                                            ' DA090101
  388.             TIME.TO.DROP.TO.DOS, _
  389.             EXPIRED.SECURITY, _
  390.             DTR.DROP.DELAY, _
  391.             ASK.IDENTITY, _
  392.             MAX.REG.SEC, _
  393.             BUFFER.SIZE, _
  394.             MLCOM, _
  395.             SHOOT.YOURSELF, _
  396.             EXTENSION.LIST$, _
  397.             NEW.USER.DEFAULT.PROTOCOL$, _
  398.             NEW.USER.GRAPHICS$, _
  399.             NET.MAIL$, _
  400.             MASTER.DIRECTORY.NAME$, _
  401.             PROTO.DEF$, _
  402.             UPCAT.HELP$, _
  403.             ALWAYS.STREW.TO$, _
  404.             LAST.NAME.PROMPT$
  405.    GOTO READ.DEF.ALL
  406.  
  407. READ.DEF.141D.ONLY:
  408.    INPUT #1,MAIN.FUNCTION(2), _
  409.             MAIN.FUNCTION(3), _
  410.             MAIN.FUNCTION(4), _
  411.             MAIN.FUNCTION(5), _
  412.             MAIN.FUNCTION(6), _
  413.             GLOBAL.FUNCTION(3), _
  414.             GLOBAL.FUNCTION(1), _
  415.             MAIN.FUNCTION(7), _
  416.             MAIN.FUNCTION(8), _
  417.             MAIN.FUNCTION(9), _
  418.             UTILITY.FUNCTION(6), _
  419.             MAIN.FUNCTION(10), _
  420.             MAIN.FUNCTION(11), _
  421.             MAIN.FUNCTION(14), _
  422.             MAIN.FUNCTION(12), _
  423.             MAIN.FUNCTION(13), _
  424.             MAIN.FUNCTION(15), _
  425.             MAIN.FUNCTION(16), _
  426.             MAIN.FUNCTION(17), _
  427.             GLOBAL.FUNCTION(4), _
  428.             GLOBAL.FUNCTION(2), _
  429.             DEFAULT.MACHINE.TYPE$, _
  430.             WAIT.BEFORE.DISCONNECT
  431.  
  432.    INPUT #1,FILES.FUNCTION(1), _
  433.             FILES.FUNCTION(2), _
  434.             DUMMY,             _
  435.             FILES.FUNCTION(3), _
  436.             FILES.FUNCTION(4), _
  437.             DUMMY,             _
  438.             FILES.FUNCTION(6), _
  439.             FILES.FUNCTION(7), _
  440.             DUMMY,             _
  441.             DUMMY,             _
  442.             UTILITY.FUNCTION(1), _
  443.             UTILITY.FUNCTION(11), _
  444.             UTILITY.FUNCTION(4), _
  445.             UTILITY.FUNCTION(5), _
  446.             DUMMY,             _
  447.             DUMMY,             _
  448.             UTILITY.FUNCTION(7), _
  449.             DUMMY,             _
  450.             UTILITY.FUNCTION(8), _
  451.             DUMMY,             _
  452.             UTILITY.FUNCTION(9), _
  453.             UTILITY.FUNCTION(10), _
  454.             UTILITY.FUNCTION(2), _
  455.             UTILITY.FUNCTION(12), _
  456.             DUMMY,             _
  457.             DUMMY,             _
  458.             UPLOAD.TIME.FACTOR!, _
  459.             COMPUTER.TYPE, _
  460.             REMIND.PROFILE, _
  461.             RBBS.NAME$, _
  462.             COMMANDS.BETWEEN.RINGS, _
  463.             MNP.SUPPORT, _
  464.             PAGING.PRINTER.SUPPORT$, _
  465.             MODEM.INIT.BAUD$
  466.  
  467.    INPUT #1,SYSOP.FUNCTION.KEY1$, _
  468.             SYSOP.FUNCTION.KEY2$, _
  469.             SYSOP.FUNCTION.KEY3$, _
  470.             SYSOP.FUNCTION.KEY4$, _
  471.             SYSOP.FUNCTION.KEY5$, _
  472.             SYSOP.FUNCTION.KEY6$, _
  473.             SYSOP.FUNCTION.KEY7$, _
  474.             SYSOP.FUNCTION.KEY8$, _
  475.             SYSOP.FUNCTION.KEY9$, _
  476.             SYSOP.FUNCTION.KEY10$, _
  477.             SYSOP.FUNCTION.KEY11$, _
  478.             SYSOP.FUNCTION.KEY12$
  479. READ.DEF.ALL:
  480.  
  481.    IF Version >= 5 THEN
  482.    INPUT #1,PERSONAL.DRVPATH$, _
  483.             PERSONAL.DIR$, _
  484.             PERSONAL.BEGIN, _
  485.             PERSONAL.LEN, _
  486.             PERSONAL.PROTOCOL$, _
  487.             PERSONAL.CONCAT, _
  488.             PRIVATE.READ.SEC, _
  489.             PUBLIC.READ.SEC, _
  490.             SEC.CHANGE.MSG, _
  491.             KEEP.INIT.BAUD, _
  492.             MAIN.PUI$, _
  493.             DEFAULT.ECHOER$, _
  494.             HOST.ECHO.ON$, _
  495.             HOST.ECHO.OFF$, _
  496.             SWITCH.BACK, _
  497.             DEFAULT.LINE.ACK$, _
  498.             ALTDIR.EXTENSION$, _
  499.             DIRECTORY.PREFIX$
  500.    END IF
  501.  
  502.    INPUT #1,SEC.LVL.EXEMPT.FRM.PURGING, _
  503.             MODEM.INIT.WAIT.TIME, _
  504.             MODEM.COMMAND.DELAY.TIME, _
  505.             TURBO.RBBS
  506.    INPUT #1,DNLD.SUB, _
  507.             WILL.SUBDIRS.B.USED, _
  508.             UPLOAD.TO.SUBDIR, _
  509.             DOWNLOAD.TO.SUBDIR, _
  510.             UPLOAD.SUBDIR$
  511.  
  512.    IF Version < 5 THEN
  513.    INPUT #1,RESTRICT.BAUD, _
  514.             USE.COLOR
  515.    ELSE
  516.    INPUT #1,MIN.OLDCALLER.BAUD, _
  517.             MAX.WORK.VAR
  518.    ENDIF
  519.  
  520.    INPUT #1,DISKFULL.GO.OFFLINE, _
  521.             EXTENDED.LOGGING, _
  522.             USER.RESET.COMMAND$, _
  523.             USER.COUNT.RINGS.COMMAND$, _
  524.             USER.ANSWER.COMMAND$, _
  525.             USER.GO.OFFHOOK.COMMAND$, _
  526.             DISK.FOR.DOS$, _
  527.             DUMB.MODEM, _
  528.             COMMENTS.AS.MESSAGES, _
  529.             LSB, _
  530.             MSB, _
  531.             LINE.CONTROL.REGISTER, _
  532.             MODEM.CONTROL.REGISTER, _
  533.             LINE.STATUS.REGISTER, _
  534.             MODEM.STATUS.REGISTER
  535.    IF Version >= 5 THEN
  536.    INPUT #1,KEEP.TIME.CREDITS, _
  537.             XON.XOFF, _
  538.             ALLOW.CALLER.TURBO, _
  539.             USE.DEVICE.DRIVER$, _
  540.             PRELOG$, _
  541.             NEW.USER.QUESTIONNAIRE$, _
  542.             EPILOG$, _
  543.             REGISTRATION.PROGRAM$, _
  544.             QUES.PATH$, _
  545.             USER.LOCATION$, _
  546.             USER.INITIALIZE.COMMAND$, _
  547.             USER.FIRMWARE.CLEAR.CMND$, _
  548.             USER.FIRMWARE.WRITE.CMND$, _
  549.             ENFORCE.UPLOAD.DOWNLOAD.RATIOS, _
  550.             SIZE.OF.STACK, _
  551.             SECURITY.EXEMPT.FROM.EPILOG, _
  552.             USE.BASIC.WRITES, _
  553.             DOSANSI, _
  554.             ESCAPE.INSECURE, _
  555.             USE.DIR.ORDER, _
  556.             ADD.DIR.SECURITY, _
  557.             MAX.EXTENDED.LINES, _
  558.             ORIG.COMMANDS$
  559.    END IF
  560.  
  561.    IF Version >= 6 THEN
  562.    INPUT #1,LOGON.MAIL.LEVEL$, _
  563.                MACRO.DRVPATH$, _
  564.                MACRO.EXTENSION$, _
  565.                EMPHASIZE.ON.DEF$, _
  566.                EMPHASIZE.OFF.DEF$, _
  567.                FG.1.DEF$, _
  568.                FG.2.DEF$, _
  569.                FG.3.DEF$, _
  570.                FG.4.DEF$, _
  571.                SECVIO.HLP$, _
  572.                FOSSIL, _
  573.                MAX.CARRIER.WAIT, _
  574.                CALLER.BKGRD, _
  575.                SMART.TEXT, _
  576.                TIME.LOCK, _
  577.                WRITE.BUF.DEF, _
  578.                SEC.KILL.ANY, _
  579.                DOORS.DEF$, _
  580.                SCREEN.OUT.MSG$, _
  581.                AUTOPAGE.DEF$
  582.    END IF
  583.    IF DNLD.SUB < 1 OR DNLD.SUB > 99 THEN GOTO CLOSE.IN
  584.    FOR I = 1 TO DNLD.SUB
  585.        INPUT #1,DNLD$(I)
  586.    NEXT
  587.    GOTO CLOSE.IN
  588.  
  589. '
  590. ' ╔══════════════════╗
  591. ' ║ CLOSE INPUT FILE ║
  592. ' ╚══════════════════╝
  593. '
  594. CLOSE.IN:
  595.       CLOSE #1
  596. '
  597. ' ╔═════════════════════════════════════════════════╗
  598. ' ║ INITALIZE ALL VARIABLES THAT DON'T AREADY EXIST ║
  599. ' ╚═════════════════════════════════════════════════╝
  600. '
  601. 1020  LOCATE 11,9
  602.    PRINT "CONVERTING DATA...";
  603.    IF INSTR(MAIN.MESSAGE.FILE$,":") THEN
  604.       D$ = LEFT$(MAIN.MESSAGE.FILE$,INSTR(MAIN.MESSAGE.FILE$,":"))
  605.    ELSE
  606.       D$ = ""
  607.    END IF
  608.  
  609.    SELECT CASE Version
  610.       CASE 1
  611.          GOTO 2000
  612.       CASE 2
  613.          GOTO 2100
  614.       CASE 3
  615.          GOTO 2200
  616.       CASE 4
  617.          GOTO 2300
  618.       CASE 5
  619.          GOTO 2400
  620.       CASE 6 TO 9
  621.          GOTO 2500
  622.       CASE 7 TO 11
  623.          GOTO 2600
  624.       CASE 12 TO 14                                                  ' KG062101
  625.          GOTO 2700                                                   ' KG062101
  626.       CASE ELSE                                                      ' KG062101
  627.          GOTO 2750                                                   ' KG062101
  628.       END SELECT
  629. '
  630. ' ╔══════════════════════════════════╗
  631. ' ║ INITALIZE VARIABLES NOT IN 14.1D ║
  632. ' ╚══════════════════════════════════╝
  633. '
  634. 2000  FOR I = 1 TO 9
  635.          IF INSTR(HELP$(I),":") THEN
  636.             HELP$(I) = MID$(HELP$(I),INSTR(HELP$(I),":")+1)
  637.          END IF
  638.       NEXT
  639.    ALWAYS.STREW.TO$           = ""
  640.    ANS.MENU$                  = D$ + "MENUA"
  641.    ASK.IDENTITY               = FALSE
  642.    BAUDOT                     = 0
  643.    BUFFER.SIZE                = 128
  644.    BYPASS.MSGS                = FALSE
  645.    COMMANDS.IN.PROMPT         = TRUE
  646.    DEFAULT.CATEGORY.CODE$     = "UC "
  647.    DAYS.IN.SUBSCRIPTION.PERIOD = 365
  648.    DAYS.TO.WARN               = 60
  649.    DIR.CATEGORY.FILE$         = D$ + "DIR.CAT"
  650.    DIRECTORY.PATH$            = D$
  651.    DTR.DROP.DELAY             = 3
  652.    DUMMY$                     = " "
  653.    EXPIRED.SECURITY           = DEFAULT.SECURITY.LEVEL
  654.    FILE.COMMANDS$             = "DGLNPSUV"
  655.    FILES.FUNCTION(8)          = FILES.FUNCTION(1)
  656.    F7.MESSAGE$                = ""
  657.    GLOBAL.COMMANDS$           = "H?QX"
  658.    HELP.EXTENSION$            = "HLP"
  659.    HELP.PATH$                 = D$
  660.    LEN.HASH                   = 31
  661.    LEN.INDIV                  = 0
  662.    LIMIT.SEARCH.TO.FMS        = FALSE
  663.    MAIN.COMMANDS$             = "ABCDEFIJKOPRSTUVW"
  664.    MAIN.FUNCTION(1)           = DEFAULT.SECURITY.LEVEL
  665.    MAIN.FUNCTION(18)          = 32767
  666.    MASTER.DIRECTORY.NAME$     = ""
  667.    MAX.DESC.LEN               = 40
  668.    MIN.SEC.TO.VIEW            = DEFAULT.SECURITY.LEVEL
  669.    MLCOM                      = FALSE
  670.    MUSIC                      = FALSE
  671.    NET.MAIL$                  = ""
  672.    NEW.FILES.CHECK            = FALSE
  673.    NEWUSER.SETS.DEFAULTS      = TRUE
  674.    NEW.PUBLIC.MSGS.SECURITY   = DEFAULT.SECURITY.LEVEL
  675.    NEW.PRIVATE.MSGS.SECURITY  = DEFAULT.SECURITY.LEVEL
  676.    NEW.USER.DEFAULT.MODE      = 0
  677.    NEW.USER.DEFAULT.PROTOCOL$ = ""
  678.    NEW.USER.GRAPHICS$         = ""
  679.    NEW.USER.LINE.FEEDS        = 0
  680.    NEW.USER.NULLS             = 0
  681.    NEW.USER.BELL              = 0
  682.    NEW.USER.CASE              = 0
  683.    NEW.USER.MARGINS           = 0
  684.    PROMPT.HASH$               = "Name"
  685.    PROMPT.INDIV$              = ""
  686.    REDIRECT.IO.METHOD         = TRUE
  687.    REMEMBER.NEW.USERS         = TRUE
  688.    REQUIRED.QUESTIONNAIRE$    = "NONE"
  689.    RESTRICT.BY.DATE           = FALSE
  690.    RESTRICT.VALID.CMDS        = FALSE
  691.    SECURITY.NEEDED.TO.CHANGE.MSGS = SYSOP.SECURITY.LEVEL
  692.    SHOOT.YOURSELF             = FALSE
  693.    SHOW.SECTION               = TRUE
  694.    SL.CATEGORIZE.UPLOADS      = SYSOP.SECURITY.LEVEL
  695.    START.HASH                 = 1
  696.    START.INDIV                = 0
  697.    SURVIVE.NOUSER.ROOM        = FALSE
  698.    SYSOP.COMMANDS$            = "1234567"
  699.    TIME.TO.DROP.TO.DOS        = 0
  700.    TURN.PRINTER.OFF           = FALSE
  701.    FMS.DIRECTORY$             = ""
  702.    UPCAT.HELP$                = "UPCAT"
  703.    UTIL.COMMANDS$             = "BCEFGLMPRSTU"
  704.    WRAP.CALLERS.FILE$         = ""
  705.    FOR I = 1 TO NUM.GLOBAL
  706.      GLOBAL.FUNCTION(I) = MINIMUM.LOGON.SECURITY
  707.    NEXT
  708.  
  709. '
  710. ' ╔══════════════════════════════════╗
  711. ' ║ INITALIZE VARIABLES NOT IN 15.1A ║
  712. ' ╚══════════════════════════════════╝
  713. '
  714. 2100  RTS$                       = "NO"
  715.  
  716. '
  717. ' ╔══════════════════════════════════╗
  718. ' ║ INITALIZE VARIABLES NOT IN 15.1B ║
  719. ' ╚══════════════════════════════════╝
  720. '
  721.  
  722. 2200  LIBRARY.ARCHIVE.PATH$        = D$
  723.    LIBRARY.ARCHIVE.PROGRAM$     = "ARCA "
  724.    LIBRARY.COMMANDS$            = "ACDGLSV"
  725.    LIBRARY.DIRECTORY.PATH$      = D$
  726.    LIBRARY.DIRECTORY.EXTENTION$ = "CDR"
  727.    LIBRARY.DRIVE$               = ""
  728.    LIBRARY.MAX.DISK             = 705
  729.    LIBRARY.MAX.DIRECTORY        = 7
  730.    LIBRARY.MAX.SUBDIR           = 100
  731.    LIBRARY.SUBDIR.PREFIX$       = "DISK"
  732.    FOR I=1 TO 7
  733.       LIBRARY.FUNCTION(I) = SYSOP.SECURITY.LEVEL
  734.    NEXT
  735.    LIBRARY.WORK.DISK.PATH$      = D$
  736.  
  737.    MAIN.COMMANDS$               = MAIN.COMMANDS$ + "@"
  738.    MENU$(6)                   = D$ + "MENU6"
  739.    RECYCLE.WAIT               = 0
  740.  
  741. '
  742. ' ╔══════════════════════════════════╗
  743. ' ║ INITALIZE VARIABLES NOT IN 15.1C ║
  744. ' ╚══════════════════════════════════╝
  745. '
  746.  
  747. 2300  ALLOW.CALLER.TURBO         = SYSOP.SECURITY.LEVEL
  748.    ALTDIR.EXTENSION$          = ""
  749.    DEFAULT.ECHOER$            = "R"
  750.    DEFAULT.LINE.ACK$          = ""
  751.    DIRECTORY.PREFIX$          = "DIR"
  752.    DOSANSI                    = USE.COLOR
  753.    ENFORCE.UPLOAD.DOWNLOAD.RATIOS = FALSE
  754.    EPILOG$                    = D$ + "EPILOG.DEF"
  755.    IF LEN(FILE.COMMANDS$) < 8 THEN
  756.       FILE.COMMANDS$ = LEFT$(FILE.COMMANDS$,4) + "P" + _
  757.                        RIGHT$(FILE.COMMANDS$,3)
  758.    END IF
  759.    FILES.FUNCTION(5)          = SYSOP.SECRUITY.LEVEL
  760.    FIRST.NAME.PROMPT$         = "FIRST name"
  761.    HOST.ECHO.OFF$             = ""
  762.    HOST.ECHO.ON$              = ""
  763.    KEEP.INIT.BAUD             = FALSE
  764.    KEEP.TIME.CREDITS          = FALSE
  765.    LAST.NAME.PROMPT$          = "LAST name"
  766.    MAIN.PUI$                  = D$ + "MAIN.PUI"
  767.    MAX.PER.DAY                = 0
  768.    MENUS.CAN.PAUSE            = TRUE
  769.    MIN.NEWCALLER.BAUD         = 0
  770.    IF RESTRICT.BAUD <> 0 THEN _
  771.       MIN.NEWCALLER.BAUD      = 1200
  772.    MIN.OLDCALLER.BAUD         = 0
  773.    IF RESTRICT.BAUD =TRUE THEN _
  774.       MIN.OLDCALLER.BAUD      = 1200
  775.    NEW.USER.QUESTIONNAIRE$    = D$ + "RBBS-REG.DEF"
  776.    PERSONAL.BEGIN             = 1
  777.    PERSONAL.DIR$              = "PRIV"
  778.    PERSONAL.DRVPATH$          = D$
  779.    PERSONAL.LEN               = 31
  780.    PERSONAL.CONCAT            = FALSE
  781.    PERSONAL.PROTOCOL$         = "N"
  782.    PRELOG$                    = D$ + "PRELOG"
  783.    PRIVATE.READ.SEC           = DEFAULT.SECURITY.LEVEL
  784.    PUBLIC.READ.SEC            = DEFAULT.SECURITY.LEVEL
  785.    QUES.PATH$                 = ""
  786.    REGISTRATION.PROGRAM$      = "NONE"
  787.    SEC.CHANGE.MSG             = SYSOP.SECURITY.LEVEL
  788.    SECURITY.EXEMPT.FROM.EPILOG= DEFAULT.SECURITY.LEVEL + 1
  789.    SIZE.OF.STACK              = 1024
  790.    SWITCH.BACK                = FALSE
  791.    USE.BASIC.WRITES           = FALSE
  792.    USE.DEVICE.DRIVER$         = ""
  793.    USE.EXTERNAL.YMODEM        = FALSE
  794.    USER.FIRMWARE.CLEAR.CMND$  = "AT&F"
  795.    USER.FIRMWARE.WRITE.CMND$  = "AT&W"
  796.    USER.INITIALIZE.COMMAND$   = "AT&C1&D3B1E0V1M0S0=0&T5"
  797.    USER.LOCATION$             = "CITY and STATE"
  798.    IF LEN(UTIL.COMMANDS$) < 12 THEN _
  799.    UTIL.COMMANDS$ = LEFT$(UTIL.COMMANDS$,2) + "E" + _
  800.                     RIGHT$(UTIL.COMMANDS$,9)
  801.    UTILITY.FUNCTION(3)        = UTILITY.FUNCTION(4)
  802.    XON.XOFF                   = FALSE
  803.  
  804.    MAIN.COMMANDS.DEFAULTS$    = "ABCDEFIJKOPRSTUVW@"
  805.    FILE.COMMANDS.DEFAULTS$    = "DGLNPSUV"
  806.    UTIL.COMMANDS.DEFAULTS$    = "BCEFGLMPRSTU"
  807.    LIBRARY.COMMANDS.DEFAULTS$   = "ACDGLSV"
  808.    GLOBAL.COMMANDS.DEFAULTS$  = "H?QX"
  809.    SYSOP.COMMANDS.DEFAULTS$   = "1234567"
  810.  
  811.    ORIG.COMMANDS$ = MAIN.COMMANDS.DEFAULTS$ + _
  812.                     FILE.COMMANDS.DEFAULTS$ + _
  813.                     UTIL.COMMANDS.DEFAULTS$ + _
  814.                     LIBRARY.COMMANDS.DEFAULTS$ + _
  815.                     GLOBAL.COMMANDS.DEFAULTS$ + _
  816.                     SYSOP.COMMANDS.DEFAULTS$
  817.  
  818. '
  819. ' ╔══════════════════════════════════╗
  820. ' ║ INITALIZE VARIABLES NOT IN 16.1A ║
  821. ' ╚══════════════════════════════════╝
  822. '
  823. 2400 ADD.DIR.SECURITY           = SYSOP.SECURITY.LEVEL
  824.    ASK.EXTENDED.DESC          = SYSOP.SECURITY.LEVEL
  825.    AUTOPAGE.DEF$              = D$ + "AUTOPAGE.DEF"
  826.    CALLER.BKGRD               = 0
  827.    CONFMAIL.LIST$             = D$ + "CONFMAIL.DEF"
  828.    EMPHASIZE.OFF.DEF$         = "[27]" + "[0;40;33m"
  829.    EMPHASIZE.ON.DEF$          = "[27]" + "[1;41;37m"
  830.    ESCAPE.INSECURE            = FALSE
  831.    FG.1.DEF$                  = ""
  832.    FG.2.DEF$                  = ""
  833.    FG.3.DEF$                  = ""
  834.    FG.4.DEF$                  = ""
  835.    FOSSIL                     = 0
  836.    LOGON.MAIL.LEVEL$          = "A"
  837.    LSB                        = 1016
  838.    MACRO.DRVPATH$             = D$
  839.    MACRO.EXTENSION$           = "MCR"
  840.    MAX.CARRIER.WAIT           = 30
  841.    MAX.EXTENDED.LINES         = 2
  842.    PROTO.DEF$                 = D$ + "PROTO.DEF"
  843.    SECVIO.HLP$                = D$ + "SECVIO." + HELP.EXTENSION$
  844.    SMART.TEXT                 = 123
  845.    TIME.LOCK                  = 0
  846.    USE.DIR.ORDER              = TRUE
  847.    WRITE.BUF.DEF              = 1024
  848. '
  849. ' ╔════════════════════════════════════╗
  850. ' ║ INITALIZE VARIABLES NOT IN 17.1A-D ║
  851. ' ╚════════════════════════════════════╝
  852. '
  853. 2500 AUTO.UPGRADE.SEC         = 0
  854.    EXTENSION.LIST$            = "ZIP"
  855.    DOORS.DEF$                 = D$ + "DOORS.DEF"
  856.    MAX.REG.SEC                = 0
  857.    MAX.WORK.VAR               = 30
  858.    MESSAGES.CAN.GROW          = 0
  859.    SCREEN.OUT.MSG$            = "SEEN-BY:"
  860.    SEC.KILL.ANY               = SYSOP.SECURITY.LEVEL
  861.    VOICE.TYPE                 = 0
  862. '
  863. ' ╔════════════════════════════════════╗
  864. ' ║ INITALIZE VARIABLES NOT IN 17.2A-B ║
  865. ' ╚════════════════════════════════════╝
  866. '
  867. 2600 FAST.FILE.LIST$          = D$ + "FIDX.DEF"
  868.      FAST.FILE.LOCATOR$       = D$ + "LIDX.DEF"
  869. '
  870. ' ╔═════════════════════════════════╗
  871. ' ║ INITALIZE VARIABLES NOT IN 17.3 ║
  872. ' ╚═════════════════════════════════╝
  873. '
  874. 2700 IF LEFT$(USER.FIRMWARE.WRITE.CMND$,2) <> "AT" THEN              ' KG062101
  875.         USER.FIRMWARE.WRITE.CMND$= "AT" + USER.FIRMWARE.WRITE.CMND$
  876.      END IF
  877.      NO.QUOTING = 0                                                  ' DA090101
  878. '
  879. ' ╔═════════════════════════════════╗
  880. ' ║ INITALIZE VARIABLES NOT IN 17.4 ║
  881. ' ╚═════════════════════════════════╝
  882. '
  883. 2750 VERSION.NUMBER$          = "17.4"                               ' KG062101
  884.      ZCallersLst$             = D$ + "CALLLST.DEF"                   ' KG062101
  885.      ZCopyrightSecs           = 6                                    ' KG062101
  886.      ZMinSecPersUpld          = 5                                    ' KG062101
  887.      ZDistriHelp$             = "DISTRI"                             ' KG062101
  888.      ZDistriPath$             = D$                                   ' KG062101
  889.      ZEnableCC                = -1                                   ' KG062101
  890.      ZMaxBank                 = 30                                   ' KG062101
  891.      TEST.ANSI.TIME           = 2                                    ' KG062101
  892. '
  893. ' ╔═══════════════════════════════════════════════════════════════════════════╗
  894. ' ║ WRITE OUT THE "RBBS-PC.DEF" FILE WITH THE SYSOP'S SPECIFIED CONFIGURATION ║
  895. ' ╚═══════════════════════════════════════════════════════════════════════════╝
  896. '
  897. 3000  OPEN "O",#1,OutputFileName$
  898.    LOCATE 12,9
  899.    PRINT "WRITING DATA...";
  900.  
  901. 4000  WRITE #1,VERSION.NUMBER$, _
  902.             DOWNLOAD.DRIVES$, _
  903.             SYSOP.PASSWORD.1$, _
  904.             SYSOP.PASSWORD.2$, _
  905.             SYSOP.FIRST.NAME$, _
  906.             SYSOP.LAST.NAME$, _
  907.             REQUIRED.RINGS, _
  908.             START.OFFICE.HOURS, _
  909.             END.OFFICE.HOURS, _
  910.             MINUTES.PER.SESSION!, _
  911.             MAX.ALLOWED.MSGS.FRM.DEF, _
  912.             ACT.MNTHS.B4.DELETING, _
  913.             UPLOAD.DIRECTORY$,_
  914.             EXPERT.USER, _
  915.             ACTIVE.BULLETINS, _
  916.             PROMPT.BELL, _
  917.             PCJR, _
  918.             MENUS.CAN.PAUSE, _
  919.             MENU$(1), _
  920.             MENU$(2), _
  921.             MENU$(3), _
  922.             MENU$(4), _
  923.             MENU$(5), _
  924.             MENU$(6), _
  925.             CONFERENCE.MENU$, _
  926.             TEST.ANSI.TIME, _                                        ' KG062101
  927.             WELCOME.INTERRUPTABLE, _
  928.             REMIND.FILE.TRANSFERS, _
  929.             PAGE.LENGTH, _
  930.             MAX.MESSAGE.LINES, _
  931.             DOORS.AVAILABLE, _
  932.             MO$
  933.    IF INSTR(BULLETIN.MENU$,":") < 1 THEN _
  934.       BULLETIN.MENU$ = DRIVE.FOR.BULLETINS$ + _
  935.                        BULLETIN.MENU$
  936.    IF INSTR(BULLETIN.PREFIX$,":") < 1 THEN _
  937.       BULLETIN.PREFIX$ = DRIVE.FOR.BULLETINS$ + _
  938.                          BULLETIN.PREFIX$
  939.    IF GLOBAL.FUNCTION(3) > MINIMUM.LOGON.SECURITY THEN _
  940.       GLOBAL.FUNCTION(3) = MINIMUM.LOGON.SECURITY
  941.    IF FILES.FUNCTION(2) > MINIMUM.LOGON.SECURITY THEN _
  942.       FILES.FUNCTION(2) = MINIMUM.LOGON.SECURITY
  943.    IF LIBRARY.FUNCTION(4) > MINIMUM.LOGON.SECURITY THEN _
  944.       LIBRARY.FUNCTION(4) = MINIMUM.LOGON.SECURITY
  945.    IF LIBRARY.DRIVE$ = "" THEN _
  946.       MAIN.FUNCTION(18) = 32767
  947.    WRITE #1,MAIN.MESSAGE.FILE$, _
  948.             MAIN.MESSAGE.BACKUP$, _
  949.             CALLERS.FILE$, _
  950.             COMMENTS.FILE$, _
  951.             MAIN.USER.FILE$, _
  952.             WELCOME.FILE$, _
  953.             NEWUSER.FILE$, _
  954.             DIRECTORY.EXTENTION$, _
  955.             COM.PORT$, _
  956.             BULLETINS.OPTIONAL, _
  957.             USER.INIT.COMMAND$, _
  958.             RTS$, _
  959.             ZCallersLst$, _                                          ' KG062101
  960.             FG, _
  961.             BG, _
  962.             BORDER, _
  963.             RBBS.BAT$, _
  964.             RCTTY.BAT$
  965. 4200  WRITE #1,OMIT.MAIN.DIRECTORY$, _
  966.             FIRST.NAME.PROMPT$, _
  967.             HELP$(3), _
  968.             HELP$(4), _
  969.             HELP$(7), _
  970.             HELP$(9), _
  971.             BULLETIN.MENU$, _
  972.             BULLETIN.PREFIX$, _
  973.             DRIVE.FOR.BULLETINS$, _
  974.             MESSAGE.REMINDER, _
  975.             REQUIRE.NON.ASCII, _
  976.             ASK.EXTENDED.DESC, _
  977.             MAXIMUM.NUMBER.OF.NODES, _
  978.             NETWORK.TYPE, _
  979.             RECYCLE.TO.DOS, _
  980.             MAX.USR.FILE.SIZE.FRM.DEF, _
  981.             MAX.MSG.FILE.SIZE.FRM.DEF!, _
  982.             TRASHCAN.FILE$
  983. 4300  WRITE #1,MINIMUM.LOGON.SECURITY, _
  984.             DEFAULT.SECURITY.LEVEL, _
  985.             SYSOP.SECURITY.LEVEL, _
  986.             FILESEC.FILE$, _
  987.             SYSOP.MENU.SECURITY.LEVEL, _
  988.             CONFMAIL.LIST$, _
  989.             MAXIMUM.VIOLATIONS, _
  990.             SYSOP.FUNCTION(1), _
  991.             SYSOP.FUNCTION(2), _
  992.             SYSOP.FUNCTION(3), _
  993.             SYSOP.FUNCTION(4), _
  994.             SYSOP.FUNCTION(5), _
  995.             SYSOP.FUNCTION(6), _
  996.             SYSOP.FUNCTION(7), _
  997.             PASSWORD.FILE$, _
  998.             MAXIMUM.PASSWORD.CHANGES, _
  999.             MINIMUM.SECURITY.FOR.TEMP.PASSWORD, _
  1000.             OVERWRITE.SECURITY.LEVEL, _
  1001.             DOORS.TERMINAL.TYPE, _
  1002.             MAX.PER.DAY
  1003. 4400  WRITE #1,MAIN.FUNCTION(1), _
  1004.             MAIN.FUNCTION(2), _
  1005.             MAIN.FUNCTION(3), _
  1006.             MAIN.FUNCTION(4), _
  1007.             MAIN.FUNCTION(5), _
  1008.             MAIN.FUNCTION(6), _
  1009.             MAIN.FUNCTION(7), _
  1010.             MAIN.FUNCTION(8), _
  1011.             MAIN.FUNCTION(9), _
  1012.             MAIN.FUNCTION(10), _
  1013.             MAIN.FUNCTION(11), _
  1014.             MAIN.FUNCTION(12), _
  1015.             MAIN.FUNCTION(13), _
  1016.             MAIN.FUNCTION(14), _
  1017.             MAIN.FUNCTION(15), _
  1018.             MAIN.FUNCTION(16), _
  1019.             MAIN.FUNCTION(17), _
  1020.             MAIN.FUNCTION(18), _
  1021.             MIN.NEWCALLER.BAUD, _
  1022.             WAIT.BEFORE.DISCONNECT
  1023. 4500  WRITE #1,FILES.FUNCTION(1), _
  1024.             FILES.FUNCTION(2), _
  1025.             FILES.FUNCTION(3), _
  1026.             FILES.FUNCTION(4), _
  1027.             FILES.FUNCTION(5), _
  1028.             FILES.FUNCTION(6), _
  1029.             FILES.FUNCTION(7), _
  1030.             FILES.FUNCTION(8), _
  1031.             UTILITY.FUNCTION(1), _
  1032.             UTILITY.FUNCTION(2), _
  1033.             UTILITY.FUNCTION(3), _
  1034.             UTILITY.FUNCTION(4), _
  1035.             UTILITY.FUNCTION(5), _
  1036.             UTILITY.FUNCTION(6), _
  1037.             UTILITY.FUNCTION(7), _
  1038.             UTILITY.FUNCTION(8), _
  1039.             UTILITY.FUNCTION(9), _
  1040.             UTILITY.FUNCTION(10), _
  1041.             UTILITY.FUNCTION(11), _
  1042.             UTILITY.FUNCTION(12), _
  1043.             GLOBAL.FUNCTION(1), _
  1044.             GLOBAL.FUNCTION(2), _
  1045.             GLOBAL.FUNCTION(3), _
  1046.             GLOBAL.FUNCTION(4), _
  1047.             UPLOAD.TIME.FACTOR!, _
  1048.             COMPUTER.TYPE, _
  1049.             REMIND.PROFILE, _
  1050.             RBBS.NAME$, _
  1051.             COMMANDS.BETWEEN.RINGS, _
  1052.             ZCopyrightSecs, _                                        ' KG062101
  1053.             PAGING.PRINTER.SUPPORT$, _
  1054.             MODEM.INIT.BAUD$
  1055. 4600  WRITE #1,TURN.PRINTER.OFF,_
  1056.             DIRECTORY.PATH$,_
  1057.             MIN.SEC.TO.VIEW, _
  1058.             LIMIT.SEARCH.TO.FMS, _
  1059.             DEFAULT.CATEGORY.CODE$, _
  1060.             DIR.CATEGORY.FILE$, _
  1061.             NEW.FILES.CHECK, _
  1062.             MAX.DESC.LEN, _
  1063.             SHOW.SECTION, _
  1064.             COMMANDS.IN.PROMPT, _
  1065.             NEWUSER.SETS.DEFAULTS, _
  1066.             HELP.PATH$, _
  1067.             HELP.EXTENSION$, _
  1068.             MAIN.COMMANDS$, _
  1069.             FILE.COMMANDS$, _
  1070.             UTIL.COMMANDS$, _
  1071.             GLOBAL.COMMANDS$, _
  1072.             SYSOP.COMMANDS$
  1073. 4700  WRITE #1,RECYCLE.WAIT, _
  1074.             LIBRARY.FUNCTION(1), _
  1075.             LIBRARY.FUNCTION(2), _
  1076.             LIBRARY.FUNCTION(3), _
  1077.             LIBRARY.FUNCTION(4), _
  1078.             LIBRARY.FUNCTION(5), _
  1079.             LIBRARY.FUNCTION(6), _
  1080.             LIBRARY.FUNCTION(7), _
  1081.             LIBRARY.DRIVE$, _
  1082.             LIBRARY.DIRECTORY.PATH$, _
  1083.             LIBRARY.DIRECTORY.EXTENTION$, _
  1084.             LIBRARY.WORK.DISK.PATH$, _
  1085.             LIBRARY.MAX.DISK, _
  1086.             LIBRARY.MAX.DIRECTORY, _
  1087.             LIBRARY.MAX.SUBDIR, _
  1088.             LIBRARY.SUBDIR.PREFIX$, _
  1089.             LIBRARY.ARCHIVE.PATH$, _
  1090.             LIBRARY.ARCHIVE.PROGRAM$, _
  1091.             LIBRARY.COMMANDS$
  1092. 4800  WRITE #1,UPLOAD.PATH$, _
  1093.             FMS.DIRECTORY$, _
  1094.             ANS.MENU$, _
  1095.             REQUIRED.QUESTIONNAIRE$, _
  1096.             REMEMBER.NEW.USERS, _
  1097.             SURVIVE.NOUSER.ROOM, _
  1098.             PROMPT.HASH$, _
  1099.             START.HASH, _
  1100.             LEN.HASH, _
  1101.             PROMPT.INDIV$, _
  1102.             START.INDIV, _
  1103.             LEN.INDIV
  1104. 4850  WRITE #1,BYPASS.MSGS, _
  1105.             MUSIC, _
  1106.             RESTRICT.BY.DATE, _
  1107.             DAYS.TO.WARN, _
  1108.             DAYS.IN.SUBSCRIPTION.PERIOD, _
  1109.             VOICE.TYPE, _
  1110.             RESTRICT.VALID.CMDS, _
  1111.             ZMinSecPersUpld, _                                       ' KG062101
  1112.             ZDistriHelp$, _                                          ' KG062101
  1113.             ZDistriPath$, _                                          ' KG062101
  1114.             FAST.FILE.LIST$, _
  1115.             FAST.FILE.LOCATOR$, _
  1116.             MESSAGES.CAN.GROW, _
  1117.             WRAP.CALLERS.FILE$, _
  1118.             REDIRECT.IO.METHOD, _
  1119.             AUTO.UPGRADE.SEC, _
  1120.             HALT.ON.ERROR, _
  1121.             NEW.PUBLIC.MSGS.SECURITY, _
  1122.             NEW.PRIVATE.MSGS.SECURITY, _
  1123.             SECURITY.NEEDED.TO.CHANGE.MSGS, _
  1124.             SL.CATEGORIZE.UPLOADS, _
  1125.             NO.QUOTING, _
  1126.             TIME.TO.DROP.TO.DOS, _
  1127.             EXPIRED.SECURITY, _
  1128.             DTR.DROP.DELAY, _
  1129.             ASK.IDENTITY, _
  1130.             MAX.REG.SEC, _
  1131.             BUFFER.SIZE, _
  1132.             MLCOM, _
  1133.             SHOOT.YOURSELF, _
  1134.             EXTENSION.LIST$, _
  1135.             ZEnableCC, _                                             ' KG062101
  1136.             ZMaxBank, _                                              ' KG062101
  1137.             NET.MAIL$, _
  1138.             MASTER.DIRECTORY.NAME$, _
  1139.             PROTO.DEF$, _
  1140.             UPCAT.HELP$, _
  1141.             ALWAYS.STREW.TO$, _
  1142.             LAST.NAME.PROMPT$
  1143.       MSB = LSB + 1
  1144.       LINE.CONTROL.REGISTER = LSB + 3
  1145.       MODEM.CONTROL.REGISTER = LSB + 4
  1146.       LINE.STATUS.REGISTER = LSB + 5
  1147.       MODEM.STATUS.REGISTER = LSB + 6
  1148. 4900  WRITE #1,PERSONAL.DRVPATH$, _
  1149.             PERSONAL.DIR$, _
  1150.             PERSONAL.BEGIN, _
  1151.             PERSONAL.LEN, _
  1152.             PERSONAL.PROTOCOL$, _
  1153.             PERSONAL.CONCAT, _
  1154.             PRIVATE.READ.SEC, _
  1155.             PUBLIC.READ.SEC, _
  1156.             SEC.CHANGE.MSG, _
  1157.             KEEP.INIT.BAUD, _
  1158.             MAIN.PUI$, _
  1159.             DEFAULT.ECHOER$, _
  1160.             HOST.ECHO.ON$, _
  1161.             HOST.ECHO.OFF$, _
  1162.             SWITCH.BACK, _
  1163.             DEFAULT.LINE.ACK$, _
  1164.             ALTDIR.EXTENSION$, _
  1165.             DIRECTORY.PREFIX$
  1166. 4950  WRITE #1,SEC.LVL.EXEMPT.FRM.PURGING, _
  1167.             MODEM.INIT.WAIT.TIME, _
  1168.             MODEM.COMMAND.DELAY.TIME, _
  1169.             TURBO.RBBS, _
  1170.             DNLD.SUB, _
  1171.             WILL.SUBDIRS.B.USED, _
  1172.             UPLOAD.TO.SUBDIR, _
  1173.             DOWNLOAD.TO.SUBDIR, _
  1174.             UPLOAD.SUBDIR$, _
  1175.             MIN.OLDCALLER.BAUD, _
  1176.             MAX.WORK.VAR, _
  1177.             DISKFULL.GO.OFFLINE, _
  1178.             EXTENDED.LOGGING, _
  1179.             USER.RESET.COMMAND$, _
  1180.             USER.COUNT.RINGS.COMMAND$, _
  1181.             USER.ANSWER.COMMAND$, _
  1182.             USER.GO.OFFHOOK.COMMAND$, _
  1183.             DISK.FOR.DOS$, _
  1184.             DUMB.MODEM, _
  1185.             COMMENTS.AS.MESSAGES, _
  1186.             LSB, _
  1187.             MSB, _
  1188.             LINE.CONTROL.REGISTER, _
  1189.             MODEM.CONTROL.REGISTER, _
  1190.             LINE.STATUS.REGISTER, _
  1191.             MODEM.STATUS.REGISTER
  1192. 4980  WRITE #1,KEEP.TIME.CREDITS, _
  1193.             XON.XOFF, _
  1194.             ALLOW.CALLER.TURBO, _
  1195.             USE.DEVICE.DRIVER$, _
  1196.             PRELOG$, _
  1197.             NEW.USER.QUESTIONNAIRE$, _
  1198.             EPILOG$, _
  1199.             REGISTRATION.PROGRAM$, _
  1200.             QUES.PATH$, _
  1201.             USER.LOCATION$, _
  1202.             USER.INITIALIZE.COMMAND$, _
  1203.             USER.FIRMWARE.CLEAR.CMND$, _
  1204.             USER.FIRMWARE.WRITE.CMND$, _
  1205.             ENFORCE.UPLOAD.DOWNLOAD.RATIOS, _
  1206.             SIZE.OF.STACK, _
  1207.             SECURITY.EXEMPT.FROM.EPILOG, _
  1208.             USE.BASIC.WRITES, _
  1209.             DOSANSI, _
  1210.             ESCAPE.INSECURE, _
  1211.             USE.DIR.ORDER, _
  1212.             ADD.DIR.SECURITY, _
  1213.             MAX.EXTENDED.LINES, _
  1214.             ORIG.COMMANDS$
  1215.       IF MACRO.EXTENSION$ <> "" AND _
  1216.          INSTR(MACRO.EXTENSION$,".") <> 1 THEN _
  1217.          MACRO.EXTENSION$ = "." + MACRO.EXTENSION$
  1218.       WRITE #1,LOGON.MAIL.LEVEL$, _
  1219.             MACRO.DRVPATH$, _
  1220.             MACRO.EXTENSION$, _
  1221.             EMPHASIZE.ON.DEF$, _
  1222.             EMPHASIZE.OFF.DEF$, _
  1223.             FG.1.DEF$, _
  1224.             FG.2.DEF$, _
  1225.             FG.3.DEF$, _
  1226.             FG.4.DEF$, _
  1227.             SECVIO.HLP$, _
  1228.             FOSSIL, _
  1229.             MAX.CARRIER.WAIT, _
  1230.             CALLER.BKGRD, _
  1231.             SMART.TEXT, _
  1232.             TIME.LOCK, _
  1233.             WRITE.BUF.DEF, _
  1234.             SEC.KILL.ANY, _
  1235.             DOORS.DEF$, _
  1236.             SCREEN.OUT.MSG$, _
  1237.             AUTOPAGE.DEF$
  1238.    IF DNLD.SUB <1 OR DNLD.SUB > 99 THEN _
  1239.       GOTO CLOSE.OUT
  1240.    FOR I = 1 TO DNLD.SUB
  1241.       WRITE #1,DNLD$(I)
  1242.    NEXT
  1243.  
  1244. CLOSE.OUT:
  1245. 5000  CLOSE #1
  1246.    LOCATE 13,9
  1247.    PRINT "FINISHED."
  1248.    LOCATE 22,1
  1249.    END
  1250.  
  1251.  
  1252.  
  1253. '
  1254. ' ╔══════════════════════════════════╗
  1255. ' ║ ERROR EXIT - USER ABORTED PROGRAM║
  1256. ' ╚══════════════════════════════════╝
  1257. '
  1258. USER.ABORT:
  1259.       LOCATE 23,1
  1260.       PRINT "User aborted program - EXECUTION CANCELLED"
  1261.       SYSTEM
  1262. '
  1263. ' ╔══════════════════════════════════════════════╗
  1264. ' ║ ERROR HANDLER FOR ANY OPEN/READ/WRITE ERRORS ║
  1265. ' ╚══════════════════════════════════════════════╝
  1266. '
  1267. ErrorHandler:
  1268.    IF ERL = 1000 THEN
  1269.       CALL Line17("ERROR: COULD NOT OPEN INPUT FILE - EXECUTION CANCELLED")
  1270.       SYSTEM
  1271.    END IF
  1272.    IF ERL =  1010 THEN
  1273.       CALL Line17("ERROR READING FILE (Probably not version "+ MID$(Ver$,(Version-1)*6+1,5)+")")
  1274.       SYSTEM
  1275.    END IF
  1276.    IF ERL = 3000 THEN
  1277.       CALL Line17("ERROR: COULD NOT OPEN OUTPUT FILE - EXECUTION CANCELLED")
  1278.       SYSTEM
  1279.    END IF
  1280.    IF ERL >= 4000 AND ERL <= 5000 THEN
  1281.       CALL Line17("ERROR: COULD NOT WRITE OUTPUT FILE - EXECUTION CANCELLED")
  1282.       SYSTEM
  1283.    END IF
  1284.    CALL Line17("ERROR "+STR$(ERR)+" OCCURRED IN LINE "+STR$(ERL)+" - EXECUTION CANCELLED")
  1285.    SYSTEM
  1286.  
  1287.    DATA "           RBBS-PC VERSION 17.4  CONFIGURATION CONVERSION"
  1288.    DATA "Conceived and written by:"
  1289.    DATA "   Doug Azzarito"
  1290.    DATA "   TECHNOLOGY CONSULTANTS of the Palm Beaches, Inc."
  1291.    DATA "   VOICE: (407) 852-7790"
  1292.    DATA "    DATA: (407) 487-3441 487-3442"
  1293.    DATA ""
  1294.    DATA "A limited license is granted to all users of this program"
  1295.    DATA "to use and distribute this program, as long as:"
  1296.    DATA "   1) NO FEE is charged for copying or distributing this program."
  1297.    DATA "   2) This program is NOT distributed in modified form."
  1298.    DATA "   3) The code contained herein is NOT used for any other purpose"
  1299.    DATA "      without obtaining permission from the copyright owner of"
  1300.    DATA "      RBBS-PC"
  1301. '
  1302. ' ╔═════════════════╗
  1303. ' ║ STRTOK FUNCTION ║
  1304. ' ╚═════════════════╝
  1305. '
  1306. FUNCTION StrTok$(Srce$,Delim$)
  1307. STATIC Start%, SaveStr$
  1308.  
  1309.    ' If first call, make a copy of the string.
  1310.    IF Srce$<>"" THEN
  1311.       Start%=1 : SaveStr$=Srce$
  1312.    END IF
  1313.  
  1314.    BegPos%=Start% : Ln%=LEN(SaveStr$)
  1315.    ' Look for start of a token (character that isn't delimiter).
  1316.    WHILE BegPos%<=Ln% AND INSTR(Delim$,MID$(SaveStr$,BegPos%,1))<>0
  1317.       BegPos%=BegPos%+1
  1318.    WEND
  1319.    ' Test for token start found.
  1320.    IF BegPos% > Ln% THEN
  1321.       StrTok$="" : EXIT FUNCTION
  1322.    END IF
  1323.    ' Find the end of the token.
  1324.    EndPos%=BegPos%
  1325.    WHILE EndPos% <= Ln% AND INSTR(Delim$,MID$(SaveStr$,EndPos%,1))=0
  1326.       EndPos%=EndPos%+1
  1327.    WEND
  1328.    StrTok$=MID$(SaveStr$,BegPos%,EndPos%-BegPos%)
  1329.    ' Set starting point for search for next token.
  1330.    Start%=EndPos%
  1331.  
  1332. END FUNCTION
  1333. '
  1334. ' ╔═════════════════╗
  1335. ' ║ BOX SUBROUTINE  ║
  1336. ' ╚═════════════════╝
  1337. '
  1338. SUB box (ybox, xbox, boxrows, boxcols, style)
  1339. ' ybox is the screen row of the upper left corner of the box
  1340. ' xbox is the screen column of the upper left corner of the box
  1341. ' boxrows is the number of rows (must be > 1) for the box
  1342. ' boxcols is the number of cols (must be > 1) for the box
  1343. ' style = 1  single line              2 double line
  1344. '         3  double top,single side   4  double side, single top
  1345. '
  1346.    IF style = 0 THEN EXIT SUB
  1347.    SELECT CASE style
  1348.       CASE 1
  1349.          tl$ = "┌": tr$ = "┐": bl$ = "└": br$ = "┘": hl$ = "─": vl$ = "│"
  1350.       CASE 2
  1351.          tl$ = "╔": tr$ = "╗": bl$ = "╚": br$ = "╝": hl$ = "═": vl$ = "║"
  1352.       CASE 3
  1353.          tl$ = "╒": tr$ = "╕": bl$ = "╘": br$ = "╛": hl$ = "═": vl$ = "│"
  1354.       CASE 4
  1355.          tl$ = "╓": tr$ = "╖": bl$ = "╙": br$ = "╜": hl$ = "─": vl$ = "║"
  1356.       CASE ELSE
  1357.          CLS
  1358.          PRINT "SYNTAX ERROR IN box FUNCTION: Invalid style"
  1359.          SYSTEM
  1360.       END SELECT
  1361.    LOCATE ybox, xbox, 0
  1362.    PRINT tl$ + STRING$(boxcols - 2, hl$) + tr$;
  1363.    FOR i! = ybox + 1 TO ybox + boxrows - 2
  1364.       LOCATE i!, xbox
  1365.       PRINT vl$;
  1366.       LOCATE , xbox + boxcols - 1
  1367.       PRINT vl$;
  1368.       NEXT i!
  1369.    LOCATE ybox + boxrows - 1, xbox, 0
  1370.    PRINT bl$ + STRING$(boxcols - 2, hl$) + br$;
  1371. END SUB
  1372. '
  1373. ' ╔══════════════════════╗
  1374. ' ║ Line 17 Help Display ║
  1375. ' ╚══════════════════════╝
  1376. '
  1377. SUB Line17 (HelpText$)
  1378.    LOCATE 17,6
  1379.    PRINT SPACE$(67);
  1380.    IF LEN(HelpText$) > 67 THEN HelpText$ = LEFT$(HelpText$,67)
  1381.    LOCATE 17,40-INT((LEN(HelpText$)+1)/2)
  1382.    PRINT HelpText$;
  1383.    END SUB
  1384.